home *** CD-ROM | disk | FTP | other *** search
/ The Programmer Disk / The Programmer Disk (Microforum).iso / xpro / basic3 / pro13 / ratioana.bas < prev    next >
Encoding:
BASIC Source File  |  1986-07-28  |  4.8 KB  |  134 lines

  1. 10 KEY  OFF
  2. 20 CLS
  3. 30 PRINT "FINANCIAL STATEMENT RATIO ANALYSIS"
  4. 40 DIM D(20)
  5. 50 REM
  6. 60 REM   D(1) = NET SALES
  7. 70 REM   D(2) = BEGINING INVENTORY
  8. 80 REM   D(3) = ENDING INVENTORY
  9. 90 REM   D(4) = COST OF GOODS SOLD
  10. 100 REM  D(5) = INTEREST EXPENSE
  11. 110 REM  D(6) = PRETAX INCOME
  12. 120 REM  D(7) = TAXES
  13. 130 REM  D(8) = CASH
  14. 140 REM  D(9) = ACCOUNTS RECEIVABLE
  15. 150 REM  D(10)= NOTES RECEIVABLE
  16. 160 REM  D(11)= TOTAL ASSETS
  17. 170 REM  D(12)= CURRENT LIABILITIES
  18. 180 REM  D(13)= EQUITY
  19. 190 REM  D(14)= SHARES OUTSTANDING
  20. 200 REM  D(15)= MARKET PRICE PER SHARE
  21. 210 REM  D(16)= DIVIDENDS PAID
  22. 220 REM
  23. 230 DATA "NET SALES", "BEGINING INVENTORY"
  24. 240 DATA "ENDING INVENTORY"
  25. 250 DATA "COST OF GOODS SOLD", "INTEREST EXPENSE"
  26. 260 DATA "PRE-TAX INCOME","INCOME TAXES","CASH"
  27. 270 DATA "ACCOUNTS RECEIVABLE"
  28. 280 DATA "NOTES AND MARKETABLE SECURITIES"
  29. 290 DATA "TOTAL ASSTES","CURRENT LIABILITIES"
  30. 300 DATA "STOCKHOLDERS' EQUITY"
  31. 310 DATA "COMMON SHARES OUTSTANDING"
  32. 320 DATA "MARKET PRIC╩Pö**0¿¬V░@ kZR`
  33. iäKpH
  34.  
  35. ûüQ
  36. h╘P/åAíFfå
  37.  
  38. I)╩üíFfª
  39.  
  40. I)╩äD    ╚)¿ñ    Φ─╔*IñΣGaíFf╞    ë)╚ñ    )╩
  41. ¬ä    ─üíFfµ
  42.  
  43. I)╩äD    ⌐Θ╩ëΦê+%δ(¿*DΣGaíFg    ë)╚ñ    )╩
  44. ¬ääüíFg&
  45. H⌐ñ⌐╩ê¬D    )╚iΘ¿ñ
  46. jê*ê⌐¿⌐╩ä(hiΩ⌐╩èaíFå
  47. H¬jëΩHííFå&
  48.  
  49. I)╩üíFåF
  50.  
  51. I)╩ääKδδδδδδΘ)╚iΘ¿ñ
  52. jê*ê⌐¿⌐╩ïδδδδδδΣAíFåf
  53.  
  54. I)╩ääH⌐╩ê¬D)⌐Ω⌐╩èd╔ΩGDAíFåå╔ΩD    'ª$
  55. ëΣßíFåª╣Φ▐ⁿΦ/Φ-■Φ*■Y├2Σ,0Pí■H≈&·ⁿâ╥╗
  56. ≈≤[≈π≈6·úΦFë∞╞╣Φ₧ⁿ├PSR╖╢▓O┤═Z[X├╟╞Φ├WRVâ∙Pr╣PIï·OHÇ∙tB╗@Ä├&≈&J°╤τ&ïcâ┬╕╕&ïüπ0â√0u╕░Ä└∞¿u√·∞¿t√ñáε&êGΓδ√^Z_├╟ΦΦÇ>tâ>≡t╞δÉΦñ▓.┤═!■δ>É╞ΦÅâ>≡Pr▓+┤═!δ▓<┤═!ï≡ ╔~ì6∙íΩïΦΦA ÷∩tΦ# ΩΦ ├Q╞╟ΩΦyⁿΦz íΩ<u÷Y├PWQRï≡ ╔t
  57. 3 èò∙┤═!GΓ⌡▓
  58. ┤═!▓
  59. ┤═!ZY_X├PQRW╞í;■u╞╞╞δFÉ╣ï∙╞àB
  60. Γ≈ïµï3└3╥ ╔t    ü┬Γ≈ï╚░┤B═!ïµ╣║B
  61. ┤?═! ╟∞_ZYX├QVWÇ>t3 ╟⌡╟≈Θö╣ ï±╞ä° Γ≈3 ╟⌡╟≈Ç&⌠²ï6∞èäB
  62. <uΦI ï6∞èäB
  63. Ç>uδUÉ<    u
  64. â╟üτ°  ∞δ╬$êà∙G ∞<
  65. u ≈< t<
  66. u ⌡δÉÇ⌠ü  tδƒÇ>∙uΘv ÷⌠uΘl +>⌡+>≈ë>≡_^Y├╗@Ä├&÷uÇ>t├╞Φ╪├Ç>t╞Φ╚è
  67. █t    ╣αΓ■■╦u≈Ç>t
  68. Φë·Ç>tδ ÉΦ:√Ç>t ░ 4& δ«▓ ┤═!uδÅ<u-▓ ┤═!<Hu ╞ΦnΘv Φá·<Pu╞Φö·ΦYΘa Θ^ <0sΘW <9vδÉ,0┤    *αê&ΘC <a|, <PuΦqΘ3 SQR╣║O╖░═ZY[├PSR╖è6Ω■╬▓O┤═Z[X├PQRV╞öÇ>∩t╞ö ░ Ç>táóí╕║╣P╞εì6UΦÅⁿ╞εΦgⁿ^ZYX├Ç6∩÷∩tΦ½ Ç>t├╣ΦΓ°├ΦÖ ├tâ╟δâ╟)Γδ∙δ <tus=&HFF
  69. 470 While not(Status and DSRMask)=0)       'Read Status Port until DSR is 0
  70. 480   Status=Inp(StatPort)
  71. 490 Wend
  72. 500 InData=Inp(DataPort)                   'Then read from Data Port
  73. 510 Return
  74. 520 '#### Routine to send a command to MPU-401
  75. 530 Status=&HFF : InData=&HFF : W=&HFF
  76. 540 While Not((Status and DRRMask)=0)      'Read Status port until DRR=0
  77. 550   Status=INP(StatPort)
  78. 560 Wend
  79. 570 Out CMDPort,Command                    'Then send the command to the CMDPort
  80. 580 While not(InData=Ack)                  'Start Looking for acknowledge from MPU-401
  81. 590   While Not((W and DSRMask)=0)         'Read Status Port Until DSR=0)
  82. 600     W=Inp(StatPort)                    'Read the Status Port byte
  83. 610   Wend
  84. 620   gosub 450                            'Get the data byte to see if it is Ack
  85. 630 Wend
  86. 640 Return
  87. 650 '#### Routine to switch to patches
  88. 660 Command=WTSD: Gosub 520                'Send Want-To-Send-Data command
  89. 670 OutData=ChangePatch: Gosub 380         'Send MIDI code to change patch
  90. 680 OutData=Range: Gosub 380               'Send data byte for new patch
  91. 690 Returnreset the mouse driver:
  92.  
  93.    70 M1%=0
  94.    80 CALL MOUSE(M1%,M2%,M3%,M4%)
  95.  
  96.    
  97.    Now to show the mouse pointer:
  98.  
  99.    90 M1%=1
  100.    100 CALL MOUSE (M1%,M2%,M3%,M4%)
  101.  
  102.  
  103.    NOTE:  WHEN DOING THE CALL STATMENT YOU MAY HAVE TO USE THE FOLLOWING
  104.           INSTEAD (TURBO BASIC,ECT...)
  105.      
  106.           CALL ABSOLUTE MOUSE(M1%,M2%,M3%,M4%)
  107.  
  108.  
  109.  
  110.  
  111. 5. Now some notes to help you on the basics.
  112.    When you run it for the first time notice that the pointer DOES NOT flicker!
  113.    You dont have to draw it, erase it, draw it,... as when moving items normally
  114.    so dont worry about that. If you run it as is you will find it very quick,
  115.    simple, easy to understand.
  116.  
  117.    Now to understand some more basics:
  118.    
  119.    When placing values in M1% and making a call you can get differnt results.
  120.    
  121.    example:   90 M1%=2
  122.               100 CALL MOUSE (M1%,M2%,M3%,M4%)
  123.            
  124.               NOW THE POINTER IS INVISIBLE!!!
  125.  
  126.  
  127.  
  128.  
  129.               90 M1%=3
  130.               100 CALL MOUSE (M1%,M2%,M3%,M4%)
  131.               110 IF M2%=1 THEN PRINT "LEFT BUTTON PRESSED"
  132.               120 IF M2%=2 THEN PRINT "RIGHT BUTTON PRESSED"
  133.               130 IF M2%=3 THEN PRINT "BOTH BUTTONS PRESSED"
  134.               140 PRINT M3%: REM   HORIZONTAL CURSOR POSITION
  135.               150 PRINT M4%: REM   VERTICAL CURSOR POSITION
  136.               160 GOTO 100
  137.  
  138.   No; X0
  139. 1960 RETURN
  140. 1970 END
  141.